library(ggplot2)

source("custom_functions.R")

load("../processed data/registration.RData")

Bar Plots


reg$age = floor(as.numeric(difftime(as.Date("2022-04-01"), as.Date(reg$birthday, tryFormats = c("%m/%d/%Y")), unit="weeks"))/52.25)

fields = c("gender" = "gender", "country of origin" = "country_orig", "country of residence" = "country_resid", "background" = "background", "communication" = "communication", "exante_data" = "exante_data", "tools" = "tools", "exante_knowledge" = "exante_knowledge", "exante_project_type" = "exante_project_type", "exante_project_sdg" = "exante_project_SDG", "team_project_sdg" = "team_project_SDG","occupation" = "occupation")

#fields = c(6,7,8,13,14,17,21,24,27,29,40)

pdf("../figures/bars_registration.pdf", width = 20, height = 10)

for (i in fields)
{
  temp = reg[,c("ID", i)]
  proc = clean_split_mcq(temp)
  
  plt = ggplot(proc[!is.na(proc$variable),], aes(y = forcats::fct_rev(forcats::fct_infreq(variable)))) + geom_bar(stat = "count", width = 0.9) + theme_minimal(base_size = 25) + xlab("Count") + theme(axis.line = element_line(colour = "black"),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.background = element_blank()) + ylab(names(fields[fields == i])) + geom_text(stat='count', aes(label=..count..), size = 6, hjust=-1)
  
  print(plt)
  
}

dev.off()
null device 
          1 

Bipartite Networks


pdf("../figures/proj_net_registration.pdf")

for (i in fields[4:12])
{
  temp = reg[,c("ID", i)]
  proc = clean_split_mcq(temp)
  proj = biproj_custom(proc)
  
  plotNetwork(proj[[1]], maine = i, label = V(proj[[1]])$names)
}
Warning in vattrs[[name]][index] <- value :
  number of items to replace is not a multiple of replacement length
Warning in vattrs[[name]][index] <- value :
  number of items to replace is not a multiple of replacement length
Warning in vattrs[[name]][index] <- value :
  number of items to replace is not a multiple of replacement length
Warning in vattrs[[name]][index] <- value :
  number of items to replace is not a multiple of replacement length
Warning in vattrs[[name]][index] <- value :
  number of items to replace is not a multiple of replacement length
Warning in vattrs[[name]][index] <- value :
  number of items to replace is not a multiple of replacement length
Warning in vattrs[[name]][index] <- value :
  number of items to replace is not a multiple of replacement length
Warning in vattrs[[name]][index] <- value :
  number of items to replace is not a multiple of replacement length
dev.off()
null device 
          1 

Age Distribution


temp = reg[,c("ID", "age")]
  
plt = ggplot(temp, aes(x = sort(age))) + geom_bar(stat = "count", width = 0.9) + theme_bw(base_size = 25) + xlab("Count") + ylab(" ") + theme(axis.line = element_line(colour = "black"), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank()) +  geom_text(stat='count', aes(label=..count..), vjust=-1) + xlab("Age") + ggtitle("Participant Age Distribution")
  
print(plt)

ggsave(plt, filename = "../figures/reg_age.png", width = 7, height = 7)

By Team

LS0tCnRpdGxlOiAiQ3Jvd2Q0U0RHIFJlZy4gRm9ybSAtIEdlYXIgMiIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CgpsaWJyYXJ5KGdncGxvdDIpCgpzb3VyY2UoImN1c3RvbV9mdW5jdGlvbnMuUiIpCgpsb2FkKCIuLi9wcm9jZXNzZWQgZGF0YS9yZWdpc3RyYXRpb24uUkRhdGEiKQoKYGBgCgpCYXIgUGxvdHMKCmBgYHtyfQoKcmVnJGFnZSA9IGZsb29yKGFzLm51bWVyaWMoZGlmZnRpbWUoYXMuRGF0ZSgiMjAyMi0wNC0wMSIpLCBhcy5EYXRlKHJlZyRiaXJ0aGRheSwgdHJ5Rm9ybWF0cyA9IGMoIiVtLyVkLyVZIikpLCB1bml0PSJ3ZWVrcyIpKS81Mi4yNSkKCmZpZWxkcyA9IGMoImdlbmRlciIgPSAiZ2VuZGVyIiwgImNvdW50cnkgb2Ygb3JpZ2luIiA9ICJjb3VudHJ5X29yaWciLCAiY291bnRyeSBvZiByZXNpZGVuY2UiID0gImNvdW50cnlfcmVzaWQiLCAiYmFja2dyb3VuZCIgPSAiYmFja2dyb3VuZCIsICJjb21tdW5pY2F0aW9uIiA9ICJjb21tdW5pY2F0aW9uIiwgImV4YW50ZV9kYXRhIiA9ICJleGFudGVfZGF0YSIsICJ0b29scyIgPSAidG9vbHMiLCAiZXhhbnRlX2tub3dsZWRnZSIgPSAiZXhhbnRlX2tub3dsZWRnZSIsICJleGFudGVfcHJvamVjdF90eXBlIiA9ICJleGFudGVfcHJvamVjdF90eXBlIiwgImV4YW50ZV9wcm9qZWN0X3NkZyIgPSAiZXhhbnRlX3Byb2plY3RfU0RHIiwgInRlYW1fcHJvamVjdF9zZGciID0gInRlYW1fcHJvamVjdF9TREciLCJvY2N1cGF0aW9uIiA9ICJvY2N1cGF0aW9uIikKCiNmaWVsZHMgPSBjKDYsNyw4LDEzLDE0LDE3LDIxLDI0LDI3LDI5LDQwKQoKcGRmKCIuLi9maWd1cmVzL2JhcnNfcmVnaXN0cmF0aW9uLnBkZiIsIHdpZHRoID0gMjAsIGhlaWdodCA9IDEwKQoKZm9yIChpIGluIGZpZWxkcykKewogIHRlbXAgPSByZWdbLGMoIklEIiwgaSldCiAgcHJvYyA9IGNsZWFuX3NwbGl0X21jcSh0ZW1wKQogIAogIHBsdCA9IGdncGxvdChwcm9jWyFpcy5uYShwcm9jJHZhcmlhYmxlKSxdLCBhZXMoeSA9IGZvcmNhdHM6OmZjdF9yZXYoZm9yY2F0czo6ZmN0X2luZnJlcSh2YXJpYWJsZSkpKSkgKyBnZW9tX2JhcihzdGF0ID0gImNvdW50Iiwgd2lkdGggPSAwLjkpICsgdGhlbWVfbWluaW1hbChiYXNlX3NpemUgPSAyNSkgKyB4bGFiKCJDb3VudCIpICsgdGhlbWUoYXhpcy5saW5lID0gZWxlbWVudF9saW5lKGNvbG91ciA9ICJibGFjayIpLAogICAgcGFuZWwuZ3JpZC5tYWpvciA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWlub3IgPSBlbGVtZW50X2JsYW5rKCksCiAgICBwYW5lbC5iYWNrZ3JvdW5kID0gZWxlbWVudF9ibGFuaygpKSArIHlsYWIobmFtZXMoZmllbGRzW2ZpZWxkcyA9PSBpXSkpICsgZ2VvbV90ZXh0KHN0YXQ9J2NvdW50JywgYWVzKGxhYmVsPS4uY291bnQuLiksIHNpemUgPSA2LCBoanVzdD0tMSkKICAKICBwcmludChwbHQpCiAgCn0KCmRldi5vZmYoKQoKYGBgCgpCaXBhcnRpdGUgTmV0d29ya3MKCmBgYHtyfQoKcGRmKCIuLi9maWd1cmVzL3Byb2pfbmV0X3JlZ2lzdHJhdGlvbi5wZGYiKQoKZm9yIChpIGluIGZpZWxkc1s0OjEyXSkKewogIHRlbXAgPSByZWdbLGMoIklEIiwgaSldCiAgcHJvYyA9IGNsZWFuX3NwbGl0X21jcSh0ZW1wKQogIHByb2ogPSBiaXByb2pfY3VzdG9tKHByb2MpCiAgCiAgcGxvdE5ldHdvcmsocHJvaltbMV1dLCBtYWluZSA9IGksIGxhYmVsID0gVihwcm9qW1sxXV0pJG5hbWVzKQp9CgpkZXYub2ZmKCkKCmBgYAoKQWdlIERpc3RyaWJ1dGlvbgoKYGBge3J9Cgp0ZW1wID0gcmVnWyxjKCJJRCIsICJhZ2UiKV0KICAKcGx0ID0gZ2dwbG90KHRlbXAsIGFlcyh4ID0gc29ydChhZ2UpKSkgKyBnZW9tX2JhcihzdGF0ID0gImNvdW50Iiwgd2lkdGggPSAwLjkpICsgdGhlbWVfYncoYmFzZV9zaXplID0gMjUpICsgeGxhYigiQ291bnQiKSArIHlsYWIoIiAiKSArIHRoZW1lKGF4aXMubGluZSA9IGVsZW1lbnRfbGluZShjb2xvdXIgPSAiYmxhY2siKSwgcGFuZWwuZ3JpZC5tYWpvciA9IGVsZW1lbnRfYmxhbmsoKSwgcGFuZWwuZ3JpZC5taW5vciA9IGVsZW1lbnRfYmxhbmsoKSwgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfYmxhbmsoKSkgKyAgZ2VvbV90ZXh0KHN0YXQ9J2NvdW50JywgYWVzKGxhYmVsPS4uY291bnQuLiksIHZqdXN0PS0xKSArIHhsYWIoIkFnZSIpICsgZ2d0aXRsZSgiUGFydGljaXBhbnQgQWdlIERpc3RyaWJ1dGlvbiIpCiAgCnByaW50KHBsdCkKCmdnc2F2ZShwbHQsIGZpbGVuYW1lID0gIi4uL2ZpZ3VyZXMvcmVnX2FnZS5wbmciLCB3aWR0aCA9IDcsIGhlaWdodCA9IDcpCgpgYGAKCkJ5IFRlYW0KCmBgYHtyfQoKbWFwID0gcmVhZC5jc3YoIi4uL2RhdGEvdGVhbV91c2Vyc19oYXNoZWQuY3N2IikKCnRlbXAgPSBtZXJnZSh0ZW1wLCBtYXAsIGJ5LnggPSAiSUQiLCBieS55ID0gIkVtYWlsSGFzaCIsIGFsbC54ID0gVFJVRSkKCnJlZ19tYXAgPSBjKCJBMjogV29tZW4gJiBUZWNobm9sb2d5IEFnYWluc3QgQ2xpbWF0ZSBDaGFuZ2UiID0gIlQ2OiBXb21lbiAmIFRlY2hub2xvZ3kgQWdhaW5zdCBDbGltYXRlIENoYW5nZSIsICJCMjogVEVBTSBGT0lMRUQiID0gIlQzOiBURUFNIEZPSUxFRCIsICJDMTogQW5kYXDDqSBJbnN0aXR1dGUiID0gIlQxMzogQW5kYXDDqSBJbnN0aXR1dGUiLCAiQzM6IFdPTUVSIiA9ICJUNTogV09NRVIiLCAiQTU6IERvbmF0ZSBXYXRlciBQcm9qZWN0IiA9ICJUOTogRG9uYXRlV2F0ZXIiLCAiQjU6IFJpZ2h0cyBvZiBDbGltYXRlIiA9ICJUMTE6IFJpZ2h0cyBvZiBDbGltYXRlIiwgIkIzOiBFY28gV2lubmVycyIgPSAiVDE0OiBFY28gV2lubmVycyIsICJCNDogV29tZW4gNCBTdXN0YWluYWJsZSBXb3JsZCIgPSAiVDEyOiBXb21lbiA0IFN1c3RhaW5hYmxlIFdvcmxkIiwgIkExOiBVcCBHZXQgQXBwL0NpdGlDRVJOIiA9ICJUNzogVXBHZXQgYXBwIC0gQ2l0aUNFUk4gUHJvamVjdCIsICJCMTogV2F0ZXIgV2FycmlvcnMiID0gIlQxMDogV2F0ZXIgV2FycmlvcnMiLCAiQzI6IFBBTSIgPSAiVDQ6IFBBTSIsICJDNDogQ2xpbWF0ZSBHZW5kZXIgSnVzdGljZSIgPSAiVDg6IENsaW1hdGUgR2VuZGVyIEp1c3RpY2UiLCAiQTM6IFJoeXRobSBvZiBCYW1ib29zIiA9ICJUMTogU0Rlc2lHbiAoT2xkIG5hbWU6IFJoeXRobSBvZiBCYW1ib29zKSIsICJDNTogQXNoaWZhIE5henJpbiIgPSAiQzU6IEFzaGlmYSBOYXpyaW4iLCAiQTQ6IEZsb29kIFJhbmdlcnMiID0gIlQyOiBGbG9vZCBSYW5nZXJzIikKCnJlZ19tYXAgPSBkYXRhLmZyYW1lKG9sZF9uYW1lID0gbmFtZXMocmVnX21hcCksIG5ld19uYW1lID0gcmVnX21hcCkKCnRlbXAgPSBtZXJnZSh0ZW1wLCByZWdfbWFwLCBieS54ID0gIlRlYW0iLCBieS55ID0gIm9sZF9uYW1lIiwgYWxsLnggPSBUUlVFKQoKcGx0ID0gZ2dwbG90KHRlbXAsIGFlcyh4ID0gbmV3X25hbWUsIHkgPSBhZ2UpKSArIGdlb21fYm94cGxvdCgpICsgdGhlbWVfYncoYmFzZV9zaXplID0gMjApICsgeGxhYigiIikgKyB5bGFiKCJBZ2UiKSArIHRoZW1lKHBhbmVsLmdyaWQubWFqb3IgPSBlbGVtZW50X2JsYW5rKCksIHBhbmVsLmdyaWQubWlub3IgPSBlbGVtZW50X2JsYW5rKCksIHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gOTAsIHZqdXN0ID0gMC41LCBoanVzdCA9IDEpKSArIGdlb21fcG9pbnQoYWVzKHggPSBuZXdfbmFtZSwgeSA9IGFnZSksIGFscGhhID0gMC4yKQpnZ3Bsb3RseShwbHQpCgpnZ3NhdmUoIi4uL2ZpZ3VyZXMvYWdlX2J5X3RlYW0ucG5nIiwgaGVpZ2h0ID0gMTIsIHdpZHRoID0gNykKCmBgYAoK